//
//  OPZJOriginTableViewController.m
//  NewWorld
//
//  Created by 曾静 on 16/4/28.
//  Copyright © 2016年 itcast. All rights reserved.
//

#import "OPZJOriginTableViewController.h"
#import "CZCarGroup.h"
#import "CZCar.h"
#import "OPZJHighSectionView.h"

@interface OPZJOriginTableViewController ()
@property (nonatomic,strong) NSArray *carGroupArray;
@end

@implementation OPZJOriginTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}
-(NSArray *)carGroupArray{
    
    if (_carGroupArray == nil) {
        //字典类型的数组
        _carGroupArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"originFirst.plist" ofType:nil]];
        
        //1.定义可变数组
        NSMutableArray *nmArray = [NSMutableArray array];
        //2. 遍历字典数组
        for (NSDictionary *dict in _carGroupArray) {
            //3.字典转模型
            CZCarGroup *carGroup = [CZCarGroup carGroupWithDict:dict];
            //4. 将模型添加到可变数组中
            [nmArray addObject:carGroup];
        }
        //5. 将存放为模型的可变数组赋值给字典数组
        _carGroupArray = nmArray;
        
        
    }
    
    return _carGroupArray;
    
    
}
//返回组
- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView{
    
    return self.carGroupArray.count;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
//根据组返回行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    CZCarGroup *carGroup = self.carGroupArray[section];
    
    return carGroup.model.count;
    
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 30;
}
//设置组头
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
        CZCarGroup *carGroup = self.carGroupArray[section];
        OPZJHighSectionView *highCar = [OPZJHighSectionView headerViewWithTableView:tableView];
        highCar.title  = carGroup.header;
        return highCar;
}
//返回对应的cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    //1. 定义重用标识
    static NSString *resuId = @"carGroup";
    
    //2. 根据重用的标识获取重用的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:resuId];
    
    //3. 如果cell不存在,就创建
    if (!cell) {
        //4. 初始化UITableViewCell
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:resuId];
    }
    //5. 给cell设置数据
    //5.1 获取数据
    //5.1.1 根据组标识获取外层的车组的模型
    CZCarGroup *carGroup = self.carGroupArray[indexPath.section];
    //5.1.2 根据行标识获取内部具体车的模型
    CZCar *car = carGroup.model[indexPath.row];
    
    //5.2 设置数据
    //5.2.1 设置图片
//    cell.imageView.image = [UIImage imageNamed:car.icon];
    
    //5.2.2 设置label名字
    cell.textLabel.text = car.title;
    
    //6.返回cell
    return cell;
    
    
}


@end
